#include <iostream>

int main(int argc, char const *argv[])
{
    using namespace std;
    string str = "Hello";
    str = str + "world"; // 对于这个 + 运算符来说的话，左值必须是一个变量，否则就会报错："Hello" + "world" 这样的就会报错了
    cout << str << endl;

    str += "我是神仙";
    cout << str << endl;

    str = string("今天天气不错");
    const char *array = "hello world";
    str.append(array);
    cout << str << endl;

    str.append(string("添加一个字符串"));
    cout << str << endl;

    str.append(string("添加一个字符串的，从指定位置开始，取n个字符加入到当前字符串"), 6, 6); // 从第6个开始，在后面添加6个字符，因为在UTF-8 中一个中文占用3个位置，所以这会在后面加上两个字，从第二个字开始
    cout << str << endl;

    str.append(8, 'A'); // 在后面添加上n * 字符，和str.assign()函数的用法差不多
    cout << str << endl;

    return 0;
}
